Skip to main content

Esempio CNC 09: Uso della correzione della lunghezza dell'utensile

Vedere il progetto di esempio per questo CNC09_ToolLengthCorr.project nella directory di installazione di CODESYS tra ..\CODESYS SoftMotion\Examples.

Questo esempio mostra come utilizzare il SMC_ToolLengthCorr POU per compensare la lunghezza di un utensile.

Per ulteriori informazioni sull'argomento della correzione della lunghezza utensile, vedere: Pre-elaborazione

Applicazione

Per l'esempio, viene utilizzata una cinematica Gantry3 insieme a un asse di orientamento aggiunto (AxisA) che può ruotare attorno all'asse Z. Un utensile con una lunghezza di 2 unità nella direzione Z è a sua volta attaccato all'asse di orientamento.

Dovrebbe essere eseguito un semplice programma CNC. Questo viene memorizzato nel progetto come esterno CNC.cnc file e può essere aperto con un editor di testo. Nel programma CNC, la correzione della lunghezza utensile viene prima attivata tramite il codice G G43. Il I, J, e K i parametri corrispondono all'offset nelle direzioni X, Y e Z per questo. Successivamente, vengono percorsi tre punti nel piano XY. Durante il movimento verso l'ultimo punto, anche l'asse aggiuntivo A viene ruotato di 90 gradi.

N000 G43 I0 J0 K2 (Activate tool length correction with tool offset X=0 Y=0 Z=2)
N010 G01 X10 F10 E100 E-100
N020 G03 Y10 R5N030 G01 X0 A90

L'applicazione è composta da più parti. Nel CNC_PreparePath programma, il programma CNC CNC.cnc viene importato come file dal controller e preelaborato. Nel CNC programma, gli azionamenti vengono prima accesi, come negli altri esempi. Quindi viene eseguita l'interpolazione del programma CNC precedentemente letto. In ogni ciclo, l'interpolatore emette una posizione impostata (piSetPosition) e l'offset corrente dell'utensile (adToolLength). Il SMC_ToolLengthCorr POU richiede queste informazioni per compensare la lunghezza utensile specificata. La posizione compensata viene quindi trasformata e infine passata agli assi tramite il SMC_ControlAxisByPos POU.

Suggerimento

Il programma è quasi identico agli altri esempi. Solo il SMC_ToolLengthCorr POU è stata inserita dopo l'interpolatore e prima della trasformazione per elaborare la posizione impostata emessa dall'interpolatore.

sm_img_cnc_example9_1.png

La messa in produzione

Compila e avvia il programma creato. Il programma esegue il movimento del CNC non appena il CNC_PreparePath.xStart l'ingresso è stato impostato. È possibile fare clic su Inizio pulsante per impostare questa variabile nell'applicazione o nella visualizzazione. Dopo che il programma è stato eseguito completamente, è possibile applicare un nuovo fronte di salita per riavviarlo.

Durante l'esecuzione del programma CNC, annotare le uscite dell'interpolatore (piSetPosition, adToolLength) e la posizione compensata (piOut) del SMC_ToolLengthCorr POU.

Nota: la rotazione di AxisA durante l'ultimo movimento del programma CNC non ha alcun effetto (aggiuntivo) sulla posizione cartesiana compensata in questo esempio perché l'utensile ha solo un offset in direzione Z. Se si aggiunge un componente all'offset dell'utensile (nel file CNC, sul controller nella cartella dell'applicazione) in direzione X e Y, la rotazione di AxisA durante l'ultimo movimento avrà un effetto aggiuntivo sulla posizione compensata.